<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><div class="cl-preview-section"><h2 id="主要步骤和流程">主要步骤和流程</h2>
</div><div class="cl-preview-section"><ul>
<li>申请iOS企业级或个人开发者账号
<ul>
<li>通过链接<a href="https://developer.apple.com/programs/">https://developer.apple.com/programs/</a>进行注册</li>
</ul>
</li>
<li>在App Store Connect注册你的APP
<ul>
<li>为你的APP注册Bundle ID</li>
</ul>
</li>
<li>检查 Xcode 项目设置</li>
<li>更新应用的开发版本</li>
<li>添加APP启动图标</li>
<li>设置签名账号</li>
<li>创建构建存档</li>
<li>在 TestFlight 发布你的应用</li>
<li>在 App Store 发布你的应用</li>
</ul>
</div><div class="cl-preview-section"><h2 id="打包并发布-ios-应用">打包并发布 iOS 应用</h2>
</div><div class="cl-preview-section"><h3 id="预先准备">预先准备</h3>
</div><div class="cl-preview-section"><p>在开始发布你的 app 的进程之前，确保你已经看过了 Apple 的 <a href="https://developer.apple.com/cn/app-store/review/">App Store 审核指南</a>。</p>
</div><div class="cl-preview-section"><p>想要发布你的 app 到 App Store，你需要注册 <a href="https://developer.apple.com/cn/programs/">Apple Developer Program</a>。你可以在苹果的 <a href="https://developer.apple.com/cn/support/compare-memberships/">选择会员资格(开发者类型)</a> 中查看到关于多种不同会员类型的选择。</p>
</div><div class="cl-preview-section"><h3 id="在-app-store-connect-上注册你的-app">在 App Store Connect 上注册你的 App</h3>
</div><div class="cl-preview-section"><p>在 <a href="https://developer.apple.com/support/app-store-connect/">App Store Connect</a> 管理你的应用生命周期（以前是 iTunes Connect）。你需要定义你的应用名称、描述以及截图，然后设置价格并管理发布到应用商店和 TestFlight。</p>
</div><div class="cl-preview-section"><p><a href="https://developer.apple.com/cn/support/app-store-connect/">App Store Connect</a>（曾经的 iTunes Connet）是你将会管理应用生命周期的地方。你将会定义应用的名称和描述以及截图，设置价格，并管理发布到 App Store 和 Testflight。</p>
</div><div class="cl-preview-section"><p>注册你的 app 需要两步：登记唯一的套装 ID（Bundle ID），并在你的 App Store Connect 中创建一个 app。<br>
关于更多 App Store Connect 的细节，查看 <a href="https://developer.apple.com/cn/support/app-store-connect/">App Store Connect</a> 指南。</p>
</div><div class="cl-preview-section"><h4 id="注册bundle-id">注册Bundle ID</h4>
</div><div class="cl-preview-section"><p>每一个 iOS 应用都与一个在 Apple 登记的唯一的套装 ID 关联。要为你的应用登记一个套装 ID，请参考下面的步骤：</p>
</div><div class="cl-preview-section"><ol>
<li>在你的开发者账号页面打开 <a href="https://developer.apple.com/account/ios/identifier/bundle">App IDs</a> 页面。</li>
<li>点击 <strong>+</strong> 来创建一个新的套装 ID。</li>
<li>输入一个 App 名称，选择 <strong>Explicit App ID</strong>，然后输入一个 ID。</li>
<li>选择你的 App 将要使用的服务，然后点击 <strong>继续</strong></li>
<li>在下一页，确认细节并点击 <strong>注册</strong> 来注册你的 Bundle ID。</li>
</ol>
</div><div class="cl-preview-section"><h4 id="在-app-store-connect-创建一个应用记录">在 App Store Connect 创建一个应用记录</h4>
</div><div class="cl-preview-section"><p>在 App Store Connect 中注册你的应用：</p>
</div><div class="cl-preview-section"><p>接下来，你需要在 App Store Connect 注册你的应用：</p>
</div><div class="cl-preview-section"><ol>
<li>在你的浏览器里打开 <a href="https://appstoreconnect.apple.com/">App Store Connect</a>。</li>
<li>在 App Store Connect 的落地页，点击 <strong>My Apps</strong>。</li>
<li>在我的 app 页面的顶部左侧，点击 <strong>+</strong> ，然后选择 <strong>New App</strong>。</li>
<li>在出现的表单中填写你的 app 细节。在平台部分，确保 iOS 被选中。由于 Flutter 暂时不支持 tvOS，保持该选项为未选。点击 <strong>Create</strong>。</li>
<li>跳转到你的应用详情，然后从侧边栏选择 <strong>App Information</strong> 。</li>
<li>在基础信息部分，选择你在前一步注册的套装 ID。<br>
想要获取更多信息，可以看这个帮助页面 <a href="https://help.apple.com/app-store-connect/?lang=zh-cn/dev2cd126805">添加 App 至您的帐户</a>。</li>
</ol>
</div><div class="cl-preview-section"><h3 id="检查-xcode-项目设置">检查 Xcode 项目设置</h3>
</div><div class="cl-preview-section"><p>在这一步，你需要在 Xcode 工作空间检查绝大多数重要设置。关于更多的步骤和描述，查看 <a href="https://help.apple.com/xcode/mac/current/#/dev91fe7130a">为 App 分发做准备</a>。</p>
</div><div class="cl-preview-section"><p>在 Xcode 中跳转到你的目标设置：</p>
</div><div class="cl-preview-section"><ol>
<li>在 Xcode 中，打开你的 App 的 <code>ios</code> 目录中的 <code>Runner.xcworkspace</code></li>
<li>想要看你的 app 设置，在 Xcode 的项目导航栏中选择 <strong>Runner</strong></li>
<li>选择 <strong>General</strong> tab</li>
</ol>
</div><div class="cl-preview-section"><p>接下来，你需要验证最重要的配置：</p>
</div><div class="cl-preview-section"><p>在 <strong>Identity</strong> 部分：</p>
</div><div class="cl-preview-section"><p><code>Display Name</code><br>
应用的名字。</p>
</div><div class="cl-preview-section"><p><code>Bundle Identifier</code><br>
在 App Store Connect 注册的 App ID。</p>
</div><div class="cl-preview-section"><p>在 <strong>Signing &amp; Capabilities</strong> 部分：</p>
</div><div class="cl-preview-section"><p><code>Automatically manage signing</code><br>
是否需要 Xcode 自动管理 app 签名和设置。这个默认被设置为 <code>true</code> ，对于绝大多数 App 来说都是适用的。对于更复杂的场景，查看 <a href="https://developer.apple.com/library/content/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html">代码签名指南</a>。</p>
</div><div class="cl-preview-section"><p><code>Team</code><br>
选择关联到你注册的 Apple 开发者账户的团队。如果需要，选择 <strong>Add Account…</strong>, 然后更新选项。</p>
</div><div class="cl-preview-section"><p>在 <strong>Build Settings</strong> 部分：</p>
</div><div class="cl-preview-section"><p><code>iOS Deployment Target</code><br>
你的 App 将会支持的最低版本的 iOS， Flutter 支持 iOS 8.0 及以后的版本。如果你的 App 包含使用了iOS 8 不支持的 API 的 Objective-C 或 Swift 代码，请设置到合适的版本。</p>
</div><div class="cl-preview-section"><p>你项目的 <strong>General</strong> tab 应该看起来像是这样的：</p>
</div><div class="cl-preview-section"><p><img src="https://o.devio.org/images/fa/res/xcode_settings.png" alt="Xcode Project Settings"></p>
</div><div class="cl-preview-section"><p>更多关于 App 签名新的介绍，查看文档 <a href="https://help.apple.com/xcode/mac/current/#/dev154b28f09">创建, 导出, 和删除签名证书</a>。</p>
</div><div class="cl-preview-section"><h3 id="更新应用的开发版本">更新应用的开发版本</h3>
</div><div class="cl-preview-section"><p>如果你在 Xcode 工程里更改了 <code>Deployment Target</code>，你需要打开 Flutter app 的 <code>ios/Flutter/AppframeworkInfo.plist</code> 文件并修改 <code>MinimumOSVersion</code> 值与之匹配。</p>
</div><div class="cl-preview-section"><h3 id="更新应用版本号">更新应用版本号</h3>
</div><div class="cl-preview-section"><p>每个应用默认的初始版本号是 <code>1.0.0</code>。若要更新它，请转到 <code>pubspec.yaml</code> 文件并更新以下内容：</p>
</div><div class="cl-preview-section"><p><code>version: 1.0.0+1</code></p>
</div><div class="cl-preview-section"><p>版本号由三个点分隔的数字组成，例如上面样例中的 <code>1.0.0</code>。然后是可选的构建号，例如上面样例中的 <code>1</code>，以 <code>+</code> 分隔。</p>
</div><div class="cl-preview-section"><p>版本号与构建号都可以在 Flutter 打包时分别使用 <code>--build-name</code> 和 <code>--build-number</code> 重新指定。</p>
</div><div class="cl-preview-section"><p>在 iOS 中，当 <code>build-number</code> 用作 <code>CFBundleVersion</code> 的时候， <code>build-name</code> 用作 <code>CFBundleShortVersionString</code>。阅读关于 iOS 版本控制的更多信息请参考 Apple 开发者网站提供的 <a href="https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html">Core Foundation Keys</a>。</p>
</div><div class="cl-preview-section"><h3 id="添加应用图标">添加应用图标</h3>
</div><div class="cl-preview-section"><p>当你创建一个新的 Flutter 应用时，则会创建一个默认的图标。在这一步，你将使用你自己的图标替换占位图标：</p>
</div><div class="cl-preview-section"><ol>
<li>回顾 <a href="https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/app-icon/">iOS 的 App Icon</a> 指南。</li>
<li>在 Xcode 项目导航栏，选择 <code>Runner</code> 目录中的 <code>Assets.xcassets</code>，更新占位图标为你自己的 app 的图标。</li>
<li>通过执行 <code>flutter run</code> 来验证你的图标是否已经被替换。</li>
</ol>
</div><div class="cl-preview-section"><h3 id="创建一个构建归档-build-archive">创建一个构建归档 (build archive)</h3>
</div><div class="cl-preview-section"><p>在这一步，你将创建一个构建归档，并上传到 App Store Connect。</p>
</div><div class="cl-preview-section"><p>在开发过程中，你将会使用 <em>debug</em> 模式来完成构建、调试并测试。当你准备好通过 App Store 或 TestFlight 交付你的 app 给用户时，你需要准备一个 <strong>release</strong> 构建。这时你也许想要 <a href="/docs/deployment/obfuscate">混淆你的 Dart 代码</a> 以加大反编译难度。混淆你的代码需要在 build 的时候添加一些标志，并维护其他文件以消除反编译的堆栈跟踪。</p>
</div><div class="cl-preview-section"><p>在命令行中你的应用目录下执行如下步骤：</p>
</div><div class="cl-preview-section"><ol>
<li>执行 <code>flutter build ios</code> 来创建一个 release 构建 (<code>flutter build</code> 默认指向 <code>--release</code>)。</li>
<li>为了确保 Xcode 刷新了发布模式的配置，关闭并重新打开你的 Xcode。对于 Xcode 8.3 及以后版本，这一步不是必须的。</li>
</ol>
</div><div class="cl-preview-section"><p>在 Xcode中，配置 app 的版本，并开始构建：</p>
</div><div class="cl-preview-section"><ol>
<li>在 Xcode 中，打开你应用 <code>ios</code> 目录中的 <code>Runner.xcworkspace</code></li>
<li>选择 <strong>Product &gt; Scheme &gt; Runner</strong></li>
<li>选择 <strong>Product &gt; Destination &gt; Any iOS Device</strong></li>
<li>在 Xcode 项目导航栏中选择 <strong>Runner</strong>，然后在设置界面侧边栏选择 <strong>Runner</strong> 目标。</li>
<li>在 Identity 部分，更新 <strong>Version</strong> 为你想要发布的用户可见的版本号。</li>
<li>在 Identity 部分，更新 <strong>Build</strong> 标示为一个唯一的 Build 数字，用来在 App Store Connect 上追踪。每一个上传都需要一个独立的 Build 数字。</li>
</ol>
</div><div class="cl-preview-section"><p>最后，创建一个构建归档并将其上传到 App Store Connect：</p>
</div><div class="cl-preview-section"><ol>
<li>选择 <strong>Product &gt; Archive</strong> 来生成一个构建归档</li>
</ol>
</div><div class="cl-preview-section"><blockquote>
<p><strong>提示</strong></p>
</blockquote>
<pre><code>在 Flutter 1.24.0-6.0 以及之后的版本你可以通过运行 `flutter build ipa` 创建一个归档（archive）。然后打开 Xcode 中的 `build/ios/archive/MyApp.xcarchive` 目录以验证并发布你的应用。运行 `flutter build ipa -h` 以查看可用标记。
</code></pre>
</div><div class="cl-preview-section"><ol start="2">
<li>在 Xcode 组织界面的侧边栏中，选择你的 iOS app，然后选择你刚刚的生成的构建归档。</li>
<li>点击 <strong>Validate…</strong> 按钮。如果报告了任何问题，记录下他们并重新开始一个新的构建。在你上传一个归档前，可以一直使用同一个 Build ID。</li>
<li>当这个归档校验成功以后，点击 <strong>Upload to App Store…</strong>。你可以在 <a href="https://appstoreconnect.apple.com/">App Store Connect</a> 中应用详情页面的 Activities 标签页查看你的构建状态。</li>
</ol>
</div><div class="cl-preview-section"><blockquote>
<p><strong>提示</strong></p>
</blockquote>
<pre><code>当你最后在 **Distribute App** 导出应用时，Xcode 将会创建一个含有你的应用 IPA 以及 `ExportOptions.plist` 文件的文件夹。在 Flutter 1.24.0-6.0 版本后，你可以无需启动 Xcode，通过运行 `flutter build ipa --export-options-plist=path/to/ExportOptions.plist` 就可以创建新的 IPA。运行 `xcodebuild -h` 以查看该属性列表中 key 的详细信息。
</code></pre>
</div><div class="cl-preview-section"><p>当你的构建已经通过了校验，可以将你的构建通过 TestFlight 发布给你的测试人员或直接将其发布到 App Store 的时候，你会在 30 分钟内收到一封信来提醒你。</p>
</div><div class="cl-preview-section"><p>更多信息可以查看 <a href="https://help.apple.com/xcode/mac/current/#/dev442d7f2ca">上传一个 App 到 App Store Connect (Upload an app to App Store Connect)</a></p>
</div><div class="cl-preview-section"><h3 id="在-testflight-发布你的应用">在 TestFlight 发布你的应用</h3>
</div><div class="cl-preview-section"><p><a href="https://developer.apple.com/testflight/">TestFlight</a> 允许开发者发布他们的 app 给内部或外部的测试人员。这个步骤为可选，接下来的内容将引导你将发布你的构建到 TestFlight。</p>
</div><div class="cl-preview-section"><ol>
<li>在 <a href="https://appstoreconnect.apple.com/">App Store Connect</a>中，你的应用的详情页面跳转到 TestFlight Tab。</li>
<li>在侧边栏选择 <strong>Internal Testing</strong>。</li>
<li>选择要发布给测试人员的构建，然后点击 <strong>保存</strong>。</li>
<li>为每一个内部测试人员添加邮件。你可以在 App Store Connect 的<strong>用户与角色</strong>页面添加额外的内部用户，他们将会出现在页面顶部的下拉菜单中。</li>
</ol>
</div><div class="cl-preview-section"><p>关于更多信息，请查看 <a href="https://help.apple.com/xcode/mac/current/#/dev2539d985f">使用 TestFlight 分发应用 (Distribute an app using TestFlight (iOS, tvOS, watchOS) )</a>。</p>
</div><div class="cl-preview-section"><h3 id="在-app-store-发布你的应用">在 App Store 发布你的应用</h3>
</div><div class="cl-preview-section"><p>当你准备发布你的 app 到这个世界时，跟随下面的步骤，来提交你的 App 去审核，并将其发布到 App Store。</p>
</div><div class="cl-preview-section"><ol>
<li>从你的 app 在 <a href="https://appstoreconnect.apple.com/">App Store Connect</a> 的页面中的侧边栏中选择 <strong>Pricing and Availability</strong>，然后完善所有的必填信息。</li>
<li>从侧边栏选择状态。如果这是第一次发布这个 App，这个状态将会是 <strong>1.0 Prepare for Submission</strong>，填写所有需要填写的区域。</li>
<li>点击 <strong>提交审核</strong></li>
</ol>
</div><div class="cl-preview-section"><p>Apple 将会在他们的审核过程结束后提醒你。你的 app 将会根据 <strong>Version Release</strong> 部分的介绍进行发布。</p>
</div><div class="cl-preview-section"><p>关于更多细节，查看 <a href="https://help.apple.com/xcode/mac/current/#/dev067853c94">通过 App Store 分发一个 App</a>.</p>
</div><div class="cl-preview-section"><p>当你创建了应用之后，你可以通过 Google Ads 吸引更多用户， Google Ads 平台可以通过机器学习帮助你以非常高的性价比吸引到更多用户。</p>
</div><div class="cl-preview-section"><ol>
<li>创建广告—我们会根据您的应用信息帮您制作广告。另外，您还可以添加图片和视频。</li>
<li>决定推广预算—对于以提高应用安装量为主要目标的广告系列，您需要为其设置应用安装出价，也就是“目标每次安装费用”，同时设置每日推广支出预算。</li>
<li>选择目标地区—让我们知道你希望触达哪些区域的用户。</li>
<li>设定用户行动—决定你希望用户要做什么，比如安装，应用内操作或者目标广告支出回报率 (ROAS)。</li>
</ol>
</div><div class="cl-preview-section"><h3 id="故障排除">故障排除</h3>
</div><div class="cl-preview-section"><p><a href="https://help.apple.com/xcode/mac/current/#/dev8b4250b57">分发你的 app</a> 指南提供了一个详细的关于发布一个 App 到 App Store 过程的内容。</p>
</div><div class="cl-preview-section"><h2 id="最后">最后</h2>
</div><div class="cl-preview-section"><ul>
<li><a href="https://flutter.dev/docs/deployment/ios">https://flutter.dev/docs/deployment/ios</a></li>
</ul>
</div> <h1 style="color: red">认准一手，获取完整资料<br>QQ3195303913<br>微信wxywd8<br><br><br><br>高价回收正版课</h1></body></html>